"""
文本生成器类，用于为TTS服务测试提供符合测试要求的文本内容
"""

import random
import json
import os

class TextGenerator:
    """
    文本生成器类
    """
    
    def __init__(self):
        """
        初始化文本生成器
        """
        # 获取当前文件所在目录
        current_dir = os.path.dirname(os.path.abspath(__file__))
        # 构建JSON文件路径
        json_file_path = os.path.join(current_dir, 'text_templates.json')
        
        # 从JSON文件加载文本模板
        with open(json_file_path, 'r', encoding='utf-8') as f:
            data = json.load(f)
        
        # 合并所有文本类型为一个列表
        self.text_templates = data['poems'] + data['quotes'] + data['original_templates']
    
    def generate_text(self):
        """
        生成随机文本
        
        Returns:
            str: 随机生成的文本
        """
        return random.choice(self.text_templates)
    
    def generate_texts(self, count):
        """
        生成指定数量的文本
        
        Args:
            count (int): 需要生成的文本数量
            
        Returns:
            list: 包含生成文本的列表
        """
        texts = []
        for _ in range(count):
            texts.append(self.generate_text())
        return texts